3. Merchant Integration Flow: Card Tokenisation and Tokenised Payments

3.1.8 Tokenisation: Step 5 – Synchronous Form Post-Back from VPG

3.1.8.1 HTTPS Form Post–Back

The merchant must be able to receive an HTTPS form post-back from VPG to the returnurl or failureurl specified in the merchant form post as a result of the payment outcome.
This is NOT the post–back for the tokenisation process which is an asynchronous process and will be returned via the notifyurl.
Asynchronous responses for the actual payment result are also sent back to the merchant in the WebHooks.WebHook.Url field defined in the encrypted transaction object.
Take note, this is a lengthy batch process and runs as scheduled tasks between VFS and the bank.
It should never be relied upon to be returned quickly or included in a synchronous user-journey with the customer.


Figure 9. Tokenisation: Step 5 – Payment and Tokenisation Phase Form Post-Back

3.1.8.2 HTTPS Form Post-Back Field Definition

The following fields are posted back to the merchant because of the payment:

Table 10. Tokenisation: Step 5 - HTTPS Form Post-Back Field Definition
# Field
(Case–Sensitive)
Required
Mandatory
Optional
Type Length Description
1. MerchantIdentifier ^ M GUID 38 This is the unique identifier that is issued to the merchant by VFS to identify him on the payment platform.
2. MerchantReference M String 20 Sent by the merchant in the original form post
3. CorrelationIdentifier M String Sent by the merchant in the original form post as requestidentifier.
4. CustomerIdentifier M String Sent by the merchant in the original form post.
5. CardNumber M String A masked credit–card number returned by the bank.
6. Amount M Decimal Sent by the merchant in the original form post.
7. TransactionReference M String 21 The unique identifier of the transaction on the payment gateway.
Will always contain a value in the case of a successful transaction.
NULL otherwise..
8. ErrorCode M String 3 Error code returned 00 – the transaction was accepted and will be processed.
Anything above 00 is an error.
9. ErrorDescription O String 250 Error code returned 00 – the transaction was accepted and will be processed.
Anything above 00 is an error.
10. BankReference O String 16 The reference number that was returned from the bank.
Can be empty.
If transaction was sent to bank, a number will be returned.
11. BankResponseDescription O String 3 The description of the bank response code.
Can be empty.
12. ControlKey M String Encrypted value used to check that the values posted back correspond to a valid Payment Gateway Postback.
See 4.2 Appendix B: Encryption Algorithms and 4.3 Appendix C: Control Key
for details on how this value is generated. Without this, PCI vulnerability checks could fail.

Continue

Return